Video sequences with color values in a High Dynamic Range (HDR) video and/or Wide Color Gamut (WCG) offer greater ranges of luminance and color values than traditional video with color values in a standard dynamic range (SDR) and/or a narrower color gamut. For example, traditional SDR video can have a limited luminance and color range, such that details in shadows or highlights can be lost when images are captured, encoded, and/or displayed. In contrast, HDR video can capture a broader range of luminance and color information, allowing the video to appear more natural and closer to real life to the human eye.
While HDR video can look more natural than traditional SDR video, many displays and/or decoders do not yet support HDR video. HDR video can have a higher ratio of maximum visible brightness values to minimum visible brightness values than SDR video, but many SDR displays are not capable of reproducing the higher contrast that can be present in HDR video. For example many existing SDR displays can display contrasts at luminance values from 0.5 to 100 nits (candelas per square meter), while many HDR displays can display contrasts at much higher ranges of luminance values, such as luminance values from 0.01 to 1000 nits.
Some systems solve this problem by generating different bitstreams for different types of displays. For example, an SDR bitstream can be generated that can be decoded and displayed on SDR displays, while a separate HDR bitstream can be generated that can be decoded and displayed on HDR displays. However, creating two separate bitstreams for a single video can be time consuming and/or processor intensive. Additionally, servers may need to store both versions of the bitstream so that devices can request the version appropriate for their display capabilities. This can lead to storage capacity issues. Alternately, bitstreams for both versions can be multiplexed into the same transport stream such that decoders can choose which of the two bitstreams to decode from the transport stream. However, this can increase the size of the transport stream and accordingly use more bandwidth to transfer the transport stream.
What is needed is a system for encoding a single bitstream from an HDR source, such that the same bitstream can be decoded by HDR Systems to present HDR color values and by SDR Systems to present SDR color values. In such a system, decoders should be able to use information generated by an encoder to convert values decoded from the bitstream into either an HDR color volume or an SDR color volume as appropriate for their display type.